<?php

class DblinksController extends GxController {

    public function filters() {
        return array(
            'accessControl',
        );
    }

    public function accessRules() {
        return array(
            array('allow',
                'actions' => array('index', 'view'),
                'users' => array('*'),
            ),
            array('allow',
                'actions' => array('minicreate', 'create', 'update'),
                'users' => array('@'),
            ),
            array('allow',
                'actions' => array('admin', 'delete'),
                'users' => array('admin'),
            ),
            array('deny',
                'users' => array('*'),
            ),
        );
    }

    public function actionView($id) {
        $this->render('view', array(
            'model' => $this->loadModel($id, 'EgresadosDblinks'),
        ));
    }

    public function actionCreate() {
        $model = new EgresadosDblinks;

        $this->performAjaxValidation($model, 'egresados-dblinks-form');

        if (isset($_POST['EgresadosDblinks'])) {
            $model->setAttributes($_POST['EgresadosDblinks']);

            if ($model->save()) {
                if (Yii::app()->getRequest()->getIsAjaxRequest())
                    Yii::app()->end();
                else {
                    if (isset($_POST['ENC_ID'])) {
                        //insertar encuestado.
                        $encuestado = new Encuestados;
                        $encuestado->DOC_ID = $model->DOC_ID;
                        $encuestado->TIP_DOC = $model->TIP_DOC;
                        $encuestado->UENCNOMBRE = $model->USERNAME;
                        if ($encuestado->save()) {
                            $ecres = new Encuestasrespuestas;
                            $ecres->ENC_ID = $_POST['ENC_ID'];
                            $ecres->ENCU_ID = $encuestado->UENCID;
                            if ($ecres->save())
                                $this->redirect(array('view', 'id' => $model->IDEGRESADO));
                            else
                                throw new CHttpException(400, Yii::t('app', 'Error al guardar!2'));
                        }else
                            throw new CHttpException(400, Yii::t('app', 'Error al guardar!'));
                    }
                    else
                        $this->redirect(array('view', 'id' => $model->IDEGRESADO));
                }
            }
        }

        $this->render('create', array('model' => $model));
    }

    public function actionUpdate($id) {
        $model = $this->loadModel($id, 'EgresadosDblinks');

        $this->performAjaxValidation($model, 'egresados-dblinks-form');

        if (isset($_POST['EgresadosDblinks'])) {
            $model->setAttributes($_POST['EgresadosDblinks']);

            if ($model->save()) {
                if (isset($_POST['ENC_ID'])) {
                    if (is_numeric($_POST['ENC_ID'])) {

                        $idencuestado = Yii::app()->db->createCommand("SELECT UENCID 
                                            FROM ENCUESTADOS WHERE UENCNOMBRE='" . $model->USERNAME . "'
                                            AND DOC_ID='" . $model->DOC_ID . "' AND TIP_DOC='" . $model->TIP_DOC . "'")->queryScalar();

                        if (is_numeric($idencuestado)) {
                            $ecres = new Encuestasrespuestas;
                            $ecres->ENC_ID = $_POST['ENC_ID'];
                            $ecres->ENCU_ID = $idencuestado;
                            if ($ecres->save())
                                $this->redirect(array('view', 'id' => $model->IDEGRESADO));
                            else
                                throw new CHttpException(400, Yii::t('app', 'Error al guardar!' . $_POST['ENC_ID']));
                        }
                    }
                    else
                        $this->redirect(array('view', 'id' => $model->IDEGRESADO));
                }
                else
                    $this->redirect(array('view', 'id' => $model->IDEGRESADO));
            }
        }

        $this->render('update', array(
            'model' => $model,
        ));
    }

    protected function guardar_encuestado() {
        
    }

    public function actionDelete($id) {
        if (Yii::app()->getRequest()->getIsPostRequest()) {
            $this->loadModel($id, 'EgresadosDblinks')->delete();

            if (!Yii::app()->getRequest()->getIsAjaxRequest())
                $this->redirect(array('admin'));
        } else
            throw new CHttpException(400, Yii::t('app', 'Your request is invalid.'));
    }

    public function actionIndex() {
        $dataProvider = new CActiveDataProvider('EgresadosDblinks');
        $this->render('index', array(
            'dataProvider' => $dataProvider,
        ));
    }

    public function actionAdmin() {
        $model = new EgresadosDblinks('search');
        $model->unsetAttributes();

        if (isset($_GET['EgresadosDblinks']))
            $model->setAttributes($_GET['EgresadosDblinks']);

        $this->render('admin', array(
            'model' => $model,
        ));
    }

}